package com.ivo.security.config;

import java.util.List;

import com.ivo.security.SecurityService;
import com.ivo.security.authenticator.AuthenticationContext;
import com.ivo.security.authenticator.Authenticator;
import com.ivo.security.authenticator.RoleMapper;
import com.ivo.security.controller.SecurityController;

public interface SecurityConfig {
	public String STORAGE_KEY = "Security_config";

	public List getServices();
	
	public void addService(SecurityService service);

	public String getLoginURL();
	
	public String getLoginURLKey();
	
	public String getDenyURL();

	public String getLinkLoginURL();

	public String getLogoutURL();

	public String getOriginalURLKey();

	public Authenticator getAuthenticator();

	public AuthenticationContext getAuthenticationContext();

	public SecurityController getController();

	public RoleMapper getRoleMapper();

	public List getInterceptors(Class desiredInterceptorClass);

	public String getCookieEncoding();

	public String getLoginCookieKey();

	public void destroy();
}
